#!/usr/bin/env python
# -*- coding:utf-8 -*-
#select基本

import socket
import select

#监听多个端口
ip_port=('127.0.0.1',8888)
sk = socket.socket()
sk.bind(ip_port)
sk.listen(5)    #5，表示内核已经接到了连接请求，但服务器还没有调用accept进行处理的连接个数最大为5
sk.setblocking(False)   #False，那么accept和recv时一旦无数据，则报错。try方法不能监听多个端口

ip_port1=('127.0.0.1',9999)
sk1 = socket.socket()
sk1.bind(ip_port1)
sk1.listen(5)
sk1.setblocking(False)

while True:
    rlist,w,e = select.select([sk,sk1],[],[],2) #监听rlist里的句柄序列，
    for r in rlist:     #rlist一旦某一个发生变化，只得到那一个句柄，所以rlist中只有一个值；
        conn,address = r.accept()
        print address